20. umask命令详解,umask用途原理,计算方式 您所在的位置:网站首页 umask 022新建文件权限 20. umask命令详解,umask用途原理,计算方式

20. umask命令详解,umask用途原理,计算方式

2024-06-30 04:33| 来源: 网络整理| 查看: 265

umask命令详解,umask用途原理,计算方式

文章目录 umaskumask用途原理umask值修改 总结友情链接

umask umask用途

umask令新建文件和目录拥有默认权限。 可以看到root创建的目录是755,文件是644

[root@zaishu zaishu]# touch test.txt [root@zaishu zaishu]# mkdir test [root@zaishu zaishu]# ls -l total 0 drwxr-xr-x 2 root root 6 Nov 25 16:29 test -rw-r--r-- 1 root root 0 Nov 25 16:28 test.txt

普通用户 可以看到普通用户创建的目录是775,文件是664

[mysql@zaishu ~]$ touch test.txt [mysql@zaishu ~]$ mkdir test [mysql@zaishu ~]$ ls -l total 0 drwxrwxr-x 2 mysql mysql 6 Nov 25 16:30 test -rw-rw-r-- 1 mysql mysql 0 Nov 25 16:30 test.txt

这些默认的权限值是通过umask设置运算得到。

原理

Linux 它是通过使用 umask 默认权限来给所有新建的文件和目录赋予初始权限的。那么,我们如何得知 umask 默认权限的值呢?直接通过 umask 命令即可:

1. umask值

[root@zaishu ~]# umask 0022 [mysql@zaishu ~]$ umask 0002

#root用户默认是0022,普通用户默认是 0002

umask 默认权限确实由 4 个八进制数组成,第 1 个数代表的是文件所具有的特殊权限(SetUID、SetGID、Sticky BIT)先忽略。后 3 位 “022” 对应为 ----w–w-。

2. 文件目录权限最大值 Linux 系统中,文件和目录的最大默认权限是不一样: 文件来讲,可拥有的最大默认权限是 666,即 rw-rw-rw-。x是文件最大权限,新建文件的时候不会给与,只能通过用户手工赋予。 目录来讲,拥有的最大默认权限是 777,即 rwxrwxrwx。

3. 常规计算 文件和目录的初始权限,通过计算得到: 文件(或目录)的初始权限 = 文件(或目录)的最大默认权限 - umask权限

[mysql@zaishu ~]$ umask 0002 [mysql@zaishu ~]$ mkdir test [mysql@zaishu ~]$ ll -d test drwxrwxr-x 2 mysql mysql 6 Nov 26 10:50 test // 目录的默认权限最大可以是 777,777-002 =775 [mysql@zaishu ~]$ touch h.txt [mysql@zaishu ~]$ ll h.txt -rw-rw-r-- 1 mysql mysql 0 Nov 26 10:52 h.txt //文件最大权限 666, 666-002(普通用户) 666-002 =664 [root@zaishu ~]# touch h2 [root@zaishu ~]# ls -l h2 -rw-r--r-- 1 root root 0 Nov 26 10:53 h2 //文件最大权限 666, 666-002(root) 666-022 =644

4. 严谨计算

在计算文件或目录的初始权限时,直接使用最大默认权限和 umask 权限的数字形式做减法,是不严谨的。例如,若 umask 默认权限的值为 033,按照数字形式计算文件的初始权限,666-033=633,但我们按照字母的形式计算会得到 (rw-rw-rw-) - (----wx-wx) = (rw-r–r–),换算成数字形式是 644。

这里的减法,其实是“遮盖”的意思,也就是说,最大默认权限中和 umask 权限公共的部分,通过减法运算会被遮盖掉,最终剩下的“最大默认权限”,才是最终赋予文件或目录的初始权限。

umask值修改

1. 临时生效(当前会话) umask 权限值可直接修改: [root@localhost ~]# umask 002 [root@localhost ~]# umask 0002 [root@localhost ~]# umask 033 [root@localhost ~]# umask 0033 这种方式修改的 umask 只是临时有效,一旦重启或重新登陆系统,就会失效。

2. 永久生效 让修改永久生效,则需要修改对应的环境变量配置文件 /etc/profile。

[root@zaishu~]# vim /etc/profile ...省略部分内容... if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then umask 002 #如果UID大于199(普通用户),则使用此umask值 else umask 022 #如果UID小于199(超级用户),则使用此umask值 fi 总结

umask命令详解,umask用途原理,计算方式。

友情链接

MySQL性能优化_原理_实战

1、MySQL在金融互联网行业的企业级安装部署

目录章节版本说明版本说明安装MySQL规范1 安装方式2 安装用户3 目录规范MySQL 5.7 安装部署1 操作系统配置2 创建用户3 创建目录4 安装5 配置文件6 安装依赖包7 配置环境变量8 初始化数据库9 重置密码MySQL8 安装MySQL8 安装源码安装1 安装依赖包2 生成源码包3 创建用户4 编译安装5 配置数据库6 连接mysql多实例部署及注意事项1 多实例概念2 多实例安装3 mysqld_multi(多实例第二种安装方式)

2、mysql启动关闭原理和实战_及常见错误排查

目录章节生产中MySQL启动方式1、 启动原理2、参数文件默认位置及优先级3、 以server方式启动4、 mysqld_safe方式5、 mysqld 方式6、 systemctl 方式关库1、相关参数innodb_fast_shutdown2、相关参数innodb_force_recovery3、关闭mysql多种方式常见MySQL启动失败案例1.、目录权限2、参数问题3、配置文件4、端口占用5、误删二进制文件6、undo表空间异常7、binlog缓冲异常MySQL启动失败排查方法MySQL启动失败排查方法连接MySQL数据库的方式连接MySQL数据库的方式MySQL数据库用户安全策略1、初始化数据库2、修改密码3、删除无用的用户4、mysql_secure_installation找回丢失的用户密码找回丢失的用户密码

3、MySQL字符集和校对规则

目录章节MySQL字符集和校验规则MySQL字符集和校验规则查看字符集方法1、查看mysql支持的字符集2、查看字符集的校对规则3、查看当前数据库的字符集4、查看当前数据库的校对规则MySQL字符集设置1、字符集设置层级关系2、设置MySQL服务器级别字符集3、设置创建对象的字符集字符集案例1、常用字符集每个汉字占用字节多少2、大小案例插入中文乱码解决插入中文乱码解决数据库常见字符集及如何选择字符集数据库常见字符集及如何选择字符集生产中如何彻底避免出现乱码生产中如何彻底避免出现乱码

4、史上最详细的Mysql用户权原理和实战_生产案例

目录章节访问控制1、连接验证(阶段一)2、允许的连接3、连接优先级4、请求验证(阶段二)用户管理1、新增用户2、修改用户3、删除用户4、查看用户密码管理1、密码修改2、密码过期设置3、set password4、密码过期策略5、密码插件MySQL用户权限管理1、权限粒度2、显示账户权限3、显示账户非权限属性4、库级权限5、表级权限6、列级权限7、权限回收资源限制1、用户创建指定配额2、修改配额MySQL用户权限案例1、断掉已清理的用户2、忘记密码3、如何禁止一个ip段的某个用户登录4、创建开发账号5、创建复制账号6、创建管理员账号

5、InnoDB引擎原理和实战_通俗易懂

目录章节缓冲池1、默认引擎2、设置缓冲池大小3、优化缓冲池4、管理缓冲池5、数据页类型线程1、IO线程2、主线程index pageindex pageinsert buffer pageinsert buffer page重做日志重做日志回滚日志回滚日志checkpoint,刷写脏页check pointcheckpoint关键特性1、插入缓冲2、数据写入可靠性提升技术-doublewrite3、自适应哈希索引-AHIinnodb预读预写技术预读写

6、MySQL文件详解_物理结构_逻辑结构_原理和案例

目录章节参数和配置文件1、文件位置2、查找参数3、参数类型4、参数修改5、示例一6、示例二7、注意事项错误日志文件错误日志通用日志通用日志慢查询日志慢日志binlog1、记录什么2、用途3、开启和参数配置4、日志查看5、日志刷新6、删除日志7、日志分析(mysqlbinlog)8、利用二进制日志文件恢复误删的表InnoDB存储引擎表空间文件表空间文件主从同步相关文件主从同步文件套接字文件套接字文件pid 文件pid 文件redo log1、redo初识2、日志组3、与oracle redo的区别4、相关参数5、和binlog的区别6、redo 缓冲区(innodb_flush_log_at_trx_commit)InnoDB存储引擎逻辑结构1、表空间2、段3、区4、页表碎片清理1、判断是否有碎片2、整理碎片表空间文件迁移1、需求2、操作

7、SQL编程开发与优化事项

目录章节常用语句1、导入数据2、库操作3、表操作4、数据操作5、use性能影响6、delete、truncate、drop的区别7、SQL语句分类数据类型与性能1、整型2、浮点型3、字符串类型4、日期类型MySQL约束1、unsigned/signed2、not null3、count(*) 为什么慢4、default5、unique6、 auto_increment7、primary keySQL编程高级1、查询Syntax2、查询列3、where子句4、group by … having子句5、order by子句6、limit子句(分页)7、聚合函数8、合并查询9、多表查询10、子查询表的元数据库管理1、统计应用库哪些表没有使用innodb存储引擎2、如何查看表中是否有大对象3、统计数据库大小4、统计表的大小

8、MySQL索引原理和案例

目录章节MySQL索引与二分查找法1、什么是索引2、索引的优缺点3、索引的最大长度4、二分查找法:折半查找法5、mysql一张表存多少数据后,索引性能就会下降?剖析b+tree数据结构1、B和B+树的区别2、索引树高度3、非叶子节点4、指针5、叶子节点6、双向指针7、b+tree插入操作8、b+tree删除操作相辅相成的聚集索引和辅助索引1、聚集索引2、聚集索引特点3、聚集索引的优势4、辅助索引覆盖索引与回表查询1、回表查询2、覆盖索引创建高性能的主键索引1、主键索引创建的原则2、主键索引的特点3、为什么建议使用自增列作为主键唯一索引与普通索引的性能差距1、唯一索引特点2、普通索引特点3、唯一索引与普通索引的性能差距前缀索引带来的性能影响1、作用2、坏处如何使用联合索引1、什么是联合索引2、创建原则3、排序Online DDL影响数据库的性能和并发1、5.6版本之前2、新版本3、online ddl语法4、相关参数5、示例6、影响pt-ocs原理与应用1、安装pt-osc2、pt-osc语法3、案例4、pt-osc原理生产中索引的管理1、建表时创建索引2、建表后创建索引3、查看索引SQL语句无法使用索引的情况1、where条件2、联合索引3、联表查询4、其他情况

9、information_schema和sys中性能查看

目录章节最常用的STATISTICS和TABLES1、STATISTICS:用于存放索引的信息2、TABLES:用于存放库表的元数据信息判断索引创建是否合理1、选择性2、索引创建的建议检查联合索引创建是否合理1、联合索引创建是否合理2、有了联合索引(a,b),还需要单独创建a索引吗?如何查找冗余索引查找冗余索引查找产生额外排序的sql语句额外排序的sql语句查找产生临时表的sql语句临时表的sql语句全表扫描的sql语句全表扫描的sql语句统计无用的索引无用的索引索引统计信息1、存储索引统计信息2、如何查看索引统计信息

10、MySQL优化器算法与执行计划

目录章节简单嵌套查询算法-simple nested-loop joinsimple nested-loop join基于索引的嵌套查询算法-index nested-loop joinindex nested-loop join基于块的嵌套查询算法- block nested-loop joinblock nested-loop joinMulti-Range ReadMRRbached key access joinBKAmysql三层体系结构体系结构Index Condition Pushdown索引条件下推一条查询SQL语句是怎样运行的查询SQL语句一条更新SQL语句是怎样运行的更新SQL语句MySQL长连接与短连接的选择1、相关参数2、断开连接执行计划explain1、语法2、执行计划解析

11、MySQL查询优化

目录章节MySQL查询优化技术概览子查询优化1、优化器自动优化2、优化措施:子查询合并3、优化措施:子查询上拉技术外连接消除外连接消除生产环境不使用join联表查询不使用joingroup by分组优化1、group by执行流程2、为什么group by要创建临时表order by排序优化排序优化MySQL性能抖动问题性能抖动问题count(*)优化count(*)优化磁盘性能基准测试1、安装sysbench2、生成文件3、测试文件io4、清除文件MySQL基准测试1、生成数据2、测试(读)3、测试(写)4、清理数据

12、事务原理和实战

目录章节认识事务认识事务事务控制语句1、开启事务2、事务提交3、事务回滚事务的实现方式1、原子性2、一致性3、隔离性4、持久性purge thread线程purge thread线程事务统计QPS与TPS1、QPS2、TPS事务隔离级别1、隔离级别2、查看隔离级别3、设置隔离级别4、不同隔离级别下会产生什么隔离效果事务组提交group commit组提交事务两阶段提交两阶段提交MVCC多版本并发控制1、MVCC原理2、MVCC案例

13、锁的原理和应用

目录章节认识锁1、锁的作用2、加锁的过程3、锁对象:事务innodb行锁1、行锁类型 2、共享锁(S锁)3、排他锁(X锁)索引对行锁粒度的影响1、行锁粒度有哪些2、在RC隔离级别下不同索引产生的锁的范围3、RR隔离级别下不同索引产生锁的范围FTWRL全局读锁FTWRL全局读锁innodb表锁innodb表锁innodb意向锁与MDL锁1、意向锁2、意向锁作用3、意向锁冲突情况4、MDL锁自增锁自增锁插入意向锁插入意向锁死锁1、什么是死锁2、相关参数3、避免死锁4、锁的状态两阶段锁协议两阶段锁协议

14、慢查询原理和实战_快速优化方法_优化工具

目录章节1. 系统状态show status2. 慢查询2.1 慢查询开启2.2 简单示例2.3 数据准备3. mysqldumpslow3.1 语法3.2 常见用法4. pt-query-digest4.1 安装4.2 语法选项4.3 报告解读4.4 用法示例5. 优化工具(soar)5.1 安装配置5.2 添加数据库5.3 语句优化

15、备份恢复原理和实战_逻辑备份_物理备份_金融行业备份还原脚本

目录章节1.生产中备份方式1.1 物理备份与逻辑备份1.2 联机与脱机备份1.3 完整备份与增量备份1.4 常用命令2.mysqldump备份2.1 相关参数2.2 备份所有数据库2.3 备份指定数据库2.4 备份指定表2.6 只导出结构2.7 只导出数据2.8 --tab(生成文本,类似load)2.8 mysqldump原理2.9 binlog异步备份2.10 利用mysqldump全备及binlog恢复数据3.xtrabackup3.1 Xtrabackup安装3.2 原理3.2 备份过程3.4 恢复原理3.3 相关参数3.4 xtrabackup相关文件3.5 备份示例3.6 还原示例4.binlog备份和恢复(数据库恢复)4.1 找到恢复时间点4.2 增量恢复5. 生产环境的备份恢复实战5.1 实施部署5.1.1 环境清单5.1.2 备份目的5.1.3 备份说明5.1.4 实施步骤5.1.5 全备脚本5.1.6 差异备份脚本5.2 实施部署备份还原5.2.1 Xtraback还原全量/差异备份5.2.2 故障点数据恢复5.2.3 增量恢复

16、主从复制,gtid,并行复制_半同步复制_实操案例_常用命令_故障处理

目录章节1.认识主从复制1.1 主从复制原理深入讲解1.2 主从复制相关参数1.3.主从复制架构部署1.4从库状态详解1.5 .过滤复制2 .gtid复制2.1 什么是GTID?2.2 GTID主从配置2.5 gtid维护2.4 GTID的特点2.3 工作原理2.4 gtid相关状态行和变量3. 并行复制3.1 延迟的原因3.2 并行复制设置3.3 查看并行复制4. 增强半同步复制4.1 异步复制4.2 半同步复制4.3 增强半同步复制4.4 配置增强半同步5. 案例5.1 主库删除操作导致sql线程关闭案例5.2 主从复制中断解决方案及案例5.3 延迟复制5.4 主库drop误操作利用延迟复制恢复案例6 常用命令6.1 启动线程6.2 关闭线程6.3 查看6.4 重置6.5 主从数据一致性校验

17、MySQL高可用和读写分离架构 MHA

目录章节MHA介绍架构和相关组件架构和相关组件工作流程工作流程MHA高可用架构部署1、环境准备2、软件安装3、创建软链接4、配置各节点互信5、节点免密验证6、mha管理用户7、配置文件8、状态检查9、开启MHA主库宕机故障模拟及处理主库宕机故障模拟及处理MHA VIP自动切换VIP自动切换MHA主从数据自动补足MHA主从数据自动补足

Atlas

目录章节Atlas读写分离高性能架构介绍安装配置安装配置配置注解配置注解启动和关闭启动和关闭读写分离架构应用读写分离架构应用创建应用用户创建应用用户Atlas在线管理Atlas在线管理读写分离避坑指南读写分离避坑指南

18、MySQL分库分表_原理实战

目录章节1.MyCAT分布式架构入门及双主架构1.1 主从架构1.2 MyCAT安装1.3 启动和连接1.4 配置文件介绍2.MyCAT读写分离架构2.1 架构说明2.2 创建用户2.3 schema.xml2.4 连接说明2.5 读写测试2.6 当前是单节点3.MyCAT高可用读写分离架构3.1 架构说明3.3 schema.xml(配置)3.4 文件详解3.4.1 schema标签3.4.2 table标签3.4.3 dataNode标签3.4.4 dataHost3.4 读写测试3.5 故障转移4.MyCAT垂直分表4.1 架构4.2 新建表4.3 配置mycat4.4 验证5 MyCAT水平分表-范围分片5.1 新建表5.2 schema.xml5.2 rule.xml5.3 autopartition-long.txt5.4 验证6. MyCAT水平分表-取模分片取模分片7. MyCAT水平分表-枚举分片枚举分片8. MyCAT全局表与ER表全局与ER表8.1 全局表8.1.1 特性8.1.2 建表8.1.3 配置8.1.4 验证8.1.5 分析总结(执行计划)8.2 ER表8.2.1 特性8.2.2 建表8.2.3 配置8.2.4 测试验证,子表是否跟随父表记录分片8.2.5 分析总结(执行计划)

19、基准性能测试_sysbench

目录章节1. sysbench1.1 用途1.2 安装1.3 版本1.4 查看帮助1.5 测试过程阶段2 CPU 性能测试2.1 测试原理2.2 查看帮助2.3 测试3. 内存性能测试3.1 查看帮助信息3.2 测试过程4.磁盘性能基准测试4.1 查看帮助4.2 生成文件(prepare)4.3 测试文件io(run)4.4 结果分析4.5 清除文件(cleanup)5. 线程测试5.1 查看帮助信息5.2 测试过程6. MySQL基准测试6.1 语法参数6.2 生成数据6.3 测试(读)6.4 测试(写)6.5 清理数据


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有